home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- NNNNAAAAMMMMEEEE
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll - a kernel to do image sharpening (and blurring)
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- ilWatchedObject : ilKernel
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <il/ilSharpenKernel.h>
-
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This class implements a 2D gaussian shaped image sharpening (or blurring
- kernel). The type of sharpening performed is typically called unsharp
- masking, and results from a weighted subtraction of a blurred version of
- the image from the original. The filter weights are detemined by the
- formula:
-
- 2 2 2 2
- -( ( dx + dy ) / (2 * sigma * radius ) )
- e
-
- where:
-
- dx = x distance from center of kernel
- dy = y distance from center of kernel
-
-
- This creates a circularly symmetric, Gaussian shapped kernel. The filter
- weights are then normalized to produce an output that computes:
-
- (1+sharpness)*I - sharpness*G
-
- where I is the original image G is the orignal image with the gausing
- kernel applied.
-
- Here are some example kernels with the default sharpness factor, 0.5, for
- various radii:
-
- -.00002 -.0006 -.0020 -.0006 -.00002
- -.00006 -.0053 -.00006 -.0006 -.0189 -.0581 -.0189 -.0006
- -.0053 1.0215 -.0053 -.0020 -.0581 1.3210 -.0581 -.0020
- -.00006 -.0053 -.00006 -.0006 -.0189 -.0581 -.0189 -.0006
- -.00002 -.0013 -.0020 -.0013 -.00002
-
- rrrraaaaddddiiiiuuuussss ==== 1111 rrrraaaaddddiiiiuuuussss ==== 2222
-
- The default kernel is:
-
- -.0057 -.0419 -.0057
- -.0419 1.1903 -.0419
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- -.0057 -.0419 -.0057
-
- rrrraaaaddddiiiiuuuussss ==== 1111....5555
-
- The kernel weights always sum to one and the clamping attribute is set on
- this kernel so no change in the input range of values will be effected by
- the application of this kernel.
-
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
-
- ilSharpenKernel(float sharpness=.5, float radius=1.5)
-
- GGGGeeeetttt aaaannnndddd sssseeeetttt sssshhhhaaaarrrrppppeeeennnniiiinnnngggg ppppaaaarrrraaaammmmeeeetttteeeerrrrssss
-
- void setSharpness(float val)
- void setRadius(float val)
- void setSigma(float val)
- float getSharpness()
- float getRadius()
- float getSigma()
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll(((())))
-
- ilSharpenKernel(float sharpness=.5, float radius=1.5)
-
-
- Creates a kernel with the specified _s_h_a_r_p_n_e_s_s and _r_a_d_i_u_s. The
- sharpness typically ranges from -1 for maximum blur, to 0 for no
- effect, to positive values up to about 10 for various degrees of
- sharpening. The radius can be any non-negative value. A radius of
- zero will perform no filtering, while successively larger values
- will filter lower and lower frequencies. The actual kernel size is
- determined by the formula:
-
- width,height = 1 + 2*(int)radius
-
-
- Thus, a radius of 1.5 (the default) will create a 3x3 kernel.
-
- ggggeeeettttRRRRaaaaddddiiiiuuuussss(((())))
-
- float getRadius()
-
-
- This method returns the current radius of the filter as set by the
- constructor or the last call to sssseeeettttRRRRaaaaddddiiiiuuuussss().
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- ggggeeeettttSSSShhhhaaaarrrrppppnnnneeeessssssss(((())))
-
- float getSharpness()
-
-
- This method returns the current sharpness of the filter as set by
- the constructor or the last call to sssseeeettttSSSShhhhaaaarrrrppppnnnneeeessssssss().
-
- ggggeeeettttSSSSiiiiggggmmmmaaaa(((())))
-
- float getSigma()
-
-
- This method returns the sigma value used in generating the kernel
- (see the equation above).
-
- sssseeeettttRRRRaaaaddddiiiiuuuussss(((())))
-
- void setRadius(float val)
-
-
- This method sets the radius of the kernel to _v_a_l. The radius can be
- any non-negative value. A radius of zero will perform no filtering,
- while successively larger values will filter lower and lower
- frequencies. The actual kernel size is determined by the formula:
-
- width,height = 1 + 2*(int)radius
-
-
- If any objects are watching this kernel (see iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt(3))
- then they will be notified that the kernel has changed when this
- method is called.
-
- sssseeeettttSSSShhhhaaaarrrrppppnnnneeeessssssss(((())))
-
- void setSharpness(float val)
-
-
- This method sets the sharpness of the kernel to _v_a_l. The effect of
- the sharpness value falls into three ranges: positve, between 0 and
- -1, and less than -1. As the value increases from zero the result
- is a progressively more sharpended image, typically values from 0-10
- are used. Values larger than about 2 produce a fairly extreme
- sharpening effect. As the value decreases from zero going to -1 the
- result is a progressively more blurry image. Values less than -1
- produce a weird effect that becomes progressively sharper; this
- range is not normally used.
-
- If any objects are watching this kernel (see iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt(3))
- then they will be notified that the kernel has changed when this
- method is called.
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- iiiillllSSSShhhhaaaarrrrppppeeeennnnKKKKeeeerrrrnnnneeeellll((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll
-
-
-
- sssseeeettttSSSSiiiiggggmmmmaaaa(((())))
-
- void setSigma(float val)
-
-
- This method sets the sigma value used in generating the kernel (see
- the equation above). The default value is 1/3. The useful range is
- from zero to one.
-
- IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllKKKKeeeerrrrnnnneeeellll
- calcGain(), calcPassGain(), copy(), getData(), getDataType(),
- getElement(), getKernelType(), getOrigin(), getSize(), getVal(),
- getXsize(), getYsize(), getZsize(), init(), isClampSet(), isEquivalent(),
- offset(), offset(), operator=(), scale(), setClamp(), setData(),
- setElement(), setOrigin(), setVal()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt
- addWatchCallback(), doWatchCallbacks(), removeWatchCallback()
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ilWatchedObject, ilKernel, ilSepShapenKernel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-